#pragma once

#include "../comm/util.hpp"
#include "../comm/httplib.h"
#include "../comm/log.hpp"
#include "oj_model.hpp"
#include <iostream>
#include <string>
#include <vector>



namespace ns_control
{
    using namespace ns_model;
    using namespace std;
    using namespace ns_util;
    using namespace ns_log;

    class Control
    {
    public:
        Control()
        {}
        ~Control()
        {}
        bool AllQuestions(std::string *html)
        {
            vector<struct Question> all;
            // 获取所有题目列表
            if (model.GetAllQuestions(&all))
            {
                //获取题目成功，将所有的题目构建为网页
            }
            else
            {

            }

            return true;
        }
        // 控制器的主要功能函数
        bool Question(const std::string &number, std::string *html)
        {
            struct Question q;
            // 根据题目编号获取题目信息
            if (model.GetQuestion(number, &q))
            {
                //获取题目成功，将题目构建为网页
                
            }
            else
            {
                
            }
            return true;
        }
    private:
        Model model; // 数据模型对象，用于数据交互
    };
} // namespace ns_control